﻿using System.Runtime.Serialization;

namespace RockBus.Monitoring.DataContracts
{
    /// <summary>
    /// Specifies how to aggregate the performance counter (instance) value before transmitting it. When specifying one of the MovingXxx values, an aggregated value is returned over n measurements, where n is equal to BufferSize.
    /// </summary>
    [DataContract(Namespace = NamespaceConstants.MonitoringNamespace)]
    public enum AggregationTypeEnum
    {
        [EnumMember]
        LastValue = 0,

        [EnumMember]
        MovingAverage = 1,

        [EnumMember]
        MovingTotal = 2,

        [EnumMember]
        MovingMin = 3,

        [EnumMember]
        MovingMax = 4,
    }
}